package fr.chrysalis.ui.components.core
{
	import flash.display.MovieClip;
	
	import fr.chrysalis.ui.assets.IAsset;
	import fr.chrysalis.ui.components.events.ContainerEvent;
	import fr.chrysalis.ui.components.interfaces.IComponent;
	import fr.chrysalis.utils.DLinkedList;
	import fr.chrysalis.utils.Debug;

	public class Container extends Component implements IComponent
	{
		
		
		/**
		 * Largeur du composant 
		 */
		public function set width(width:int):void
		{
			this.size.width = width;
			this.deleteBackGround();
			this.update();
		}
		
		/**
		 * Hauteur du composant 
		 */
		public function set height(height:int):void
		{
			this.size.height = height;
			this.deleteBackGround();
			this.update();
		}
		
		public function Container(asset:IAsset)
		{
			super(asset);
			this.enable();
		}
		
		/**
		 * Ajoute un composant dans le container 
		 * @param component Composant à ajouter
		 */
		override public function addChild(component:Component):void{
			super.addChild(component);
			this.dispatchEvent(new ContainerEvent(ContainerEvent.ADD));
		}
		
		/**
		 * Supprime un composant dans le container 
		 * @param component Composant à supprimer
		 */
		override public function removeChild(component:Component):void{
			super.removeChild(component);
			this.dispatchEvent(new ContainerEvent(ContainerEvent.REMOVE));
		}
		
	}
}